package com.leisai.manager.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.leisai.manager.dto.ReportDTO;
import com.leisai.manager.pojo.Report;
import com.leisai.manager.response.PageDataResult;

import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: jim
 * @Date: 2021/12/01/15:58
 * @Description:
 */
public interface ReportService {

    /**
     * 功能描述: 添加报表
     * @param report
     * @return
     */
    Map<String ,Object> addReport(Report report);

    /**
     * 功能描述：修改报表
     * @param report
     * @return
     */
    Map<String ,Object> updateReport(Report report);

    /**
     * 功能描述：获取报表列表
     * @param pageNum  页号
     * @param pageSize  页大小
     * @param reportDTO
     * @return
     */
    PageDataResult getReportList(Integer pageNum, Integer pageSize, ReportDTO reportDTO);

    /**
     * 功能描述：删除报表
     * @param id
     * @return
     */
    Map<String ,Object> del(Integer id);

    /**
     *
     * @param id
     * @return
     */
    Report getReportById(Integer id);

    /**
     * 功能描述：初始化报表；
     * 1.新创建的行业点击进入后会将所有的模板添加过来
     * 2.点击刷新按钮会将后面添加的模板添加进来
     * @return
     */
    Map<String ,Object> initReport(ReportDTO reportDTO);

    JSONArray getIndustryReport(ReportDTO reportDTOe);

    JSONObject getIndustrytTree();

    ReportDTO getReportByObject(ReportDTO dto);

}
